<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>gl_PrimitiveID - OpenGL ES 3.2 Reference Pages</title>
    <link rel="stylesheet" type="text/css" href="opengl-man.css"/>
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1"/>
    <script type="text/x-mathjax-config">
            MathJax.Hub.Config({
                MathML: {
                    extensions: ["content-mathml.js"]
                },
                tex2jax: {
                    inlineMath: [['$','$'], ['\\(','\\)']]
                }
            });
        </script>
    <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"/>
  </head>
  <body>
    <header/>
    <div class="refentry" id="gl_PrimitiveID">
      <div class="titlepage"/>
      <div class="refnamediv">
        <h2>Name</h2>
        <p>gl_PrimitiveID — contains the index of the current primitive</p>
      </div>
      <div class="refsynopsisdiv">
        <h2>Declaration</h2>
        <p>
            </p>
        <pre class="programlisting">// In tessellation control, tessellation evaluation, and
// fragment shaders</pre>
        <p>
            <code class="fieldsynopsis"><span class="modifier">in </span><span class="type">highp int </span><span class="varname">gl_PrimitiveID </span>;</code>
        </p>
        <p>
            </p>
        <pre class="programlisting">// In geometry shaders</pre>
        <p>
            <code class="fieldsynopsis"><span class="modifier">out </span><span class="type">highp int </span><span class="varname">gl_PrimitiveID </span>;</code>
        </p>
      </div>
      <div class="refsect1" id="description">
        <h2>Description</h2>
        <p>
            <code class="varname">gl_PrimitiveID</code> is a tessellation control, tessellation evaluation
            and fragment language input variable. For the tessellation control and tessellation
            evaluation languages, it holds the number of primitives processed by
            the shader since the current set of rendering primitives was started. The first
            primitive processed by the drawing command is numbered zero and the primitive ID counter is incremented after every individual point, line
            or triangle primitive is processed. For triangles drawn in point or line mode, the
            primitive ID counter is incremented only once, even through multiple points or lines
            may actually be drawn. Restarting a primitive topology using the primitive restart
            index has no effect on the primitive ID counter.
        </p>
        <p>
            In the geometry language, <code class="varname">gl_PrimitiveID</code> is an output
            variable that is passed to the corresponding <code class="varname">gl_PrimitiveID</code> input
            variable in the fragment shader. If no geomery shader is present then <code class="varname">gl_PrimitiveID</code>
            in the fragment language behaves identically as it would in the tessellation control and evaluation
            languages. If a geometry shader is present but does not write to <code class="varname">gl_PrimitiveID</code>,
            the value of <code class="varname">gl_PrimitiveID</code> in the fragment shader is undefined.
        </p>
      </div>
      <div class="refsect1" id="versions">
        <h2>Version Support</h2>
        <div class="informaltable">
          <table style="border-collapse: collapse; border-top: 2px solid ; border-bottom: 2px solid ; border-left: 2px solid ; border-right: 2px solid ; ">
            <colgroup>
              <col style="text-align: left; "/>
              <col style="text-align: center; " class="firstvers"/>
              <col style="text-align: center; "/>
              <col style="text-align: center; "/>
              <col style="text-align: center; " class="lastvers"/>
            </colgroup>
            <thead>
              <tr>
                <th style="text-align: left; border-right: 2px solid ; ">
                 
            </th>
                <th style="text-align: center; border-bottom: 2px solid ; " colspan="4">
                <span class="bold"><strong>OpenGL ES Shading Language Version</strong></span>
            </th>
              </tr>
              <tr>
                <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">
                <span class="bold"><strong>Function Name</strong></span>
            </th>
                <th style="text-align: center; border-right: 2px solid ; border-bottom: 2px solid ; ">
                <span class="bold"><strong>1.00</strong></span>
            </th>
                <th style="text-align: center; border-right: 2px solid ; border-bottom: 2px solid ; ">
                <span class="bold"><strong>3.00</strong></span>
            </th>
                <th style="text-align: center; border-right: 2px solid ; border-bottom: 2px solid ; ">
                <span class="bold"><strong>3.10</strong></span>
            </th>
                <th style="text-align: center; border-bottom: 2px solid ; ">
                <span class="bold"><strong>3.20</strong></span>
            </th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td style="text-align: left; border-right: 2px solid ; ">
                  <code class="varname">gl_PrimitiveID</code>
                </td>
                <td style="text-align: center; border-right: 2px solid ; ">-</td>
                <td style="text-align: center; border-right: 2px solid ; ">-</td>
                <td style="text-align: center; border-right: 2px solid ; ">-</td>
                <td style="text-align: center; ">✔</td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
      <div class="refsect1" id="seealso">
        <h2>See Also</h2>
        <p>
            <a class="citerefentry" href="gl_InstanceID.xhtml"><span class="citerefentry"><span class="refentrytitle">gl_InstanceID</span></span></a>,
            <a class="citerefentry" href="gl_VertexID.xhtml"><span class="citerefentry"><span class="refentrytitle">gl_VertexID</span></span></a>,
            <a class="citerefentry" href="gl_PrimitiveIDIn.xhtml"><span class="citerefentry"><span class="refentrytitle">gl_PrimitiveIDIn</span></span></a>
        </p>
      </div>
      <div class="refsect1" id="Copyright">
        <h2>Copyright</h2>
        <p>
            Copyright <span class="trademark"/>© 2011-2015 Khronos Group.
            This material may be distributed subject to the terms and conditions set forth in
            the Open Publication License, v 1.0, 8 June 1999.
            <a class="link" href="http://opencontent.org/openpub/" target="_top">http://opencontent.org/openpub/</a>.
        </p>
      </div>
    </div>
    <footer/>
  </body>
</html>
